css: Add a scale argument to css-value compute vfunc
authorAlexander Larsson <alexl@redhat.com>
Thu, 27 Jun 2013 16:26:05 +0000 (18:26 +0200)
committerAlexander Larsson <alexl@redhat.com>
Wed, 3 Jul 2013 12:39:25 +0000 (14:39 +0200)
We need to be able to compute different GtkCssImage values
depending on the scale, and we need this at compute time so that
we don't need to read any images other than the scale in used (to
e.g. calculate the image size). GtkStyleProviderPrivate is shared
for all style contexts, so its not right.

33 files changed:
gtk/gtkcssarrayvalue.c
gtk/gtkcssbgsizevalue.c
gtk/gtkcssbordervalue.c
gtk/gtkcsscolorvalue.c
gtk/gtkcsscomputedvalues.c
gtk/gtkcsscomputedvaluesprivate.h
gtk/gtkcsscornervalue.c
gtk/gtkcsseasevalue.c
gtk/gtkcssenginevalue.c
gtk/gtkcssenumvalue.c
gtk/gtkcssimage.c
gtk/gtkcssimagegradient.c
gtk/gtkcssimagelinear.c
gtk/gtkcssimageprivate.h
gtk/gtkcssimageurl.c
gtk/gtkcssimagevalue.c
gtk/gtkcssinheritvalue.c
gtk/gtkcssinitialvalue.c
gtk/gtkcsskeyframes.c
gtk/gtkcsskeyframesprivate.h
gtk/gtkcsslookup.c
gtk/gtkcsslookupprivate.h
gtk/gtkcssnumbervalue.c
gtk/gtkcsspositionvalue.c
gtk/gtkcssrepeatvalue.c
gtk/gtkcssrgbavalue.c
gtk/gtkcssshadowsvalue.c
gtk/gtkcssshadowvalue.c
gtk/gtkcssstringvalue.c
gtk/gtkcsstypedvalue.c
gtk/gtkcssvalue.c
gtk/gtkcssvalueprivate.h
gtk/gtkstylecontext.c

index 45f1fb2c21e70a61a406e7ad3dd0b699196c3271..a221bf6c571b3c193b94aacd90794500e1b2092a 100644 (file)
@@ -46,6 +46,7 @@ static GtkCssValue *
 gtk_css_value_array_compute (GtkCssValue             *value,
                              guint                    property_id,
                              GtkStyleProviderPrivate *provider,
+                            int                      scale,
                              GtkCssComputedValues    *values,
                              GtkCssComputedValues    *parent_values,
                              GtkCssDependencies      *dependencies)
@@ -58,7 +59,7 @@ gtk_css_value_array_compute (GtkCssValue             *value,
   result = NULL;
   for (i = 0; i < value->n_values; i++)
     {
-      i_value =  _gtk_css_value_compute (value->values[i], property_id, provider, values, parent_values, &child_deps);
+      i_value =  _gtk_css_value_compute (value->values[i], property_id, provider, scale, values, parent_values, &child_deps);
 
       *dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
 
index 662ceb7d1ed5592f17369c00aadd8b7f2f03a8e0..df29d9733c0fbc0619a310b80c518333e8988fdc 100644 (file)
@@ -44,6 +44,7 @@ static GtkCssValue *
 gtk_css_value_bg_size_compute (GtkCssValue             *value,
                                guint                    property_id,
                                GtkStyleProviderPrivate *provider,
+                              int                      scale,
                                GtkCssComputedValues    *values,
                                GtkCssComputedValues    *parent_values,
                                GtkCssDependencies      *dependencies)
@@ -58,10 +59,10 @@ gtk_css_value_bg_size_compute (GtkCssValue             *value,
   x = y = NULL;
 
   if (value->x)
-    x = _gtk_css_value_compute (value->x, property_id, provider, values, parent_values, &x_deps);
+    x = _gtk_css_value_compute (value->x, property_id, provider, scale, values, parent_values, &x_deps);
 
   if (value->y)
-    y = _gtk_css_value_compute (value->y, property_id, provider, values, parent_values, &y_deps);
+    y = _gtk_css_value_compute (value->y, property_id, provider, scale, values, parent_values, &y_deps);
 
   *dependencies = _gtk_css_dependencies_union (x_deps, y_deps);
 
index 62487f8f8a59302a1c959772e9085197a6e8c4ee..998e432004eff8d16f52a7c0249103392383692d 100644 (file)
@@ -45,6 +45,7 @@ static GtkCssValue *
 gtk_css_value_border_compute (GtkCssValue             *value,
                               guint                    property_id,
                               GtkStyleProviderPrivate *provider,
+                             int                      scale,
                               GtkCssComputedValues    *values,
                               GtkCssComputedValues    *parent_values,
                               GtkCssDependencies       *dependencies)
@@ -61,7 +62,7 @@ gtk_css_value_border_compute (GtkCssValue             *value,
     {
       if (value->values[i])
         {
-          computed->values[i] = _gtk_css_value_compute (value->values[i], property_id, provider, values, parent_values, &child_deps);
+          computed->values[i] = _gtk_css_value_compute (value->values[i], property_id, provider, scale, values, parent_values, &child_deps);
           *dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
           changed |= (computed->values[i] != value->values[i]);
         }
index d523fe82d44a076b950ebb01362f39a309b809f0..9972d96a991981b35c6ff53c5fd8471c2f3cf1d9 100644 (file)
@@ -101,6 +101,7 @@ gtk_css_value_color_free (GtkCssValue *color)
 static GtkCssValue *
 gtk_css_value_color_get_fallback (guint                    property_id,
                                   GtkStyleProviderPrivate *provider,
+                                 int                      scale,
                                   GtkCssComputedValues    *values,
                                   GtkCssComputedValues    *parent_values)
 {
@@ -124,6 +125,7 @@ gtk_css_value_color_get_fallback (guint                    property_id,
         return _gtk_css_value_compute (_gtk_css_style_property_get_initial_value (_gtk_css_style_property_lookup_by_id (property_id)),
                                        property_id,
                                        provider,
+                                      scale,
                                        values,
                                        parent_values,
                                        NULL);
@@ -297,6 +299,7 @@ static GtkCssValue *
 gtk_css_value_color_compute (GtkCssValue             *value,
                              guint                    property_id,
                              GtkStyleProviderPrivate *provider,
+                            int                      scale,
                              GtkCssComputedValues    *values,
                              GtkCssComputedValues    *parent_values,
                              GtkCssDependencies      *dependencies)
@@ -335,7 +338,7 @@ gtk_css_value_color_compute (GtkCssValue             *value,
                                            NULL);
 
   if (resolved == NULL)
-    return gtk_css_value_color_get_fallback (property_id, provider, values, parent_values);
+    return gtk_css_value_color_get_fallback (property_id, provider, scale, values, parent_values);
 
   return resolved;
 }
index dea23bdf5e3ef50da9a0e2b4c63945bd034e415c..6f7d368b6ba052dc8dd0e07e9f98c24a89ca554e 100644 (file)
@@ -113,6 +113,7 @@ maybe_unref_section (gpointer section)
 void
 _gtk_css_computed_values_compute_value (GtkCssComputedValues    *values,
                                         GtkStyleProviderPrivate *provider,
+                                       int                      scale,
                                         GtkCssComputedValues    *parent_values,
                                         guint                    id,
                                         GtkCssValue             *specified,
@@ -142,7 +143,7 @@ _gtk_css_computed_values_compute_value (GtkCssComputedValues    *values,
   else
     _gtk_css_value_ref (specified);
 
-  value = _gtk_css_value_compute (specified, id, provider, values, parent_values, &dependencies);
+  value = _gtk_css_value_compute (specified, id, provider, scale, values, parent_values, &dependencies);
 
   _gtk_css_computed_values_set_value (values, id, value, dependencies, section);
 
@@ -445,6 +446,7 @@ gtk_css_computed_values_create_css_animations (GtkCssComputedValues    *values,
                                                GtkCssComputedValues    *parent_values,
                                                gint64                   timestamp,
                                                GtkStyleProviderPrivate *provider,
+                                              int                      scale,
                                                GtkCssComputedValues    *source)
 {
   GtkCssValue *durations, *delays, *timing_functions, *animations;
@@ -489,7 +491,7 @@ gtk_css_computed_values_create_css_animations (GtkCssComputedValues    *values,
           if (keyframes == NULL)
             continue;
 
-          keyframes = _gtk_css_keyframes_compute (keyframes, provider, values, parent_values);
+          keyframes = _gtk_css_keyframes_compute (keyframes, provider, scale, values, parent_values);
 
           animation = _gtk_css_animation_new (name,
                                               keyframes,
@@ -514,11 +516,12 @@ _gtk_css_computed_values_create_animations (GtkCssComputedValues    *values,
                                             GtkCssComputedValues    *parent_values,
                                             gint64                   timestamp,
                                             GtkStyleProviderPrivate *provider,
+                                           int                      scale,
                                             GtkCssComputedValues    *source)
 {
   if (source != NULL)
     gtk_css_computed_values_create_css_transitions (values, timestamp, source);
-  gtk_css_computed_values_create_css_animations (values, parent_values, timestamp, provider, source);
+  gtk_css_computed_values_create_css_animations (values, parent_values, timestamp, provider, scale, source);
 }
 
 GtkBitmask *
index 5c88c72a335ed608d2951be7b91400c323376467..f70d39736ae9ba6b920474c52743214d5ea3e802 100644 (file)
@@ -66,6 +66,7 @@ GtkCssComputedValues *  _gtk_css_computed_values_new                  (void);
 
 void                    _gtk_css_computed_values_compute_value        (GtkCssComputedValues     *values,
                                                                        GtkStyleProviderPrivate  *provider,
+                                                                      int                       scale,
                                                                        GtkCssComputedValues     *parent_values,
                                                                        guint                     id,
                                                                        GtkCssValue              *specified,
@@ -94,6 +95,7 @@ void                    _gtk_css_computed_values_create_animations    (GtkCssCom
                                                                        GtkCssComputedValues     *parent_values,
                                                                        gint64                    timestamp,
                                                                        GtkStyleProviderPrivate  *provider,
+                                                                      int                       scale,
                                                                        GtkCssComputedValues     *source);
 GtkBitmask *            _gtk_css_computed_values_advance              (GtkCssComputedValues     *values,
                                                                        gint64                    timestamp);
index 394675c71a08812a1f763bbfc10a01762cb8e214..625e8022bdede65b7dd017f589d3db2294933fdf 100644 (file)
@@ -40,6 +40,7 @@ static GtkCssValue *
 gtk_css_value_corner_compute (GtkCssValue             *corner,
                               guint                    property_id,
                               GtkStyleProviderPrivate *provider,
+                             int                      scale,
                               GtkCssComputedValues    *values,
                               GtkCssComputedValues    *parent_values,
                               GtkCssDependencies      *dependencies)
@@ -47,8 +48,8 @@ gtk_css_value_corner_compute (GtkCssValue             *corner,
   GtkCssValue *x, *y;
   GtkCssDependencies x_deps, y_deps;
 
-  x = _gtk_css_value_compute (corner->x, property_id, provider, values, parent_values, &x_deps);
-  y = _gtk_css_value_compute (corner->y, property_id, provider, values, parent_values, &y_deps);
+  x = _gtk_css_value_compute (corner->x, property_id, provider, scale, values, parent_values, &x_deps);
+  y = _gtk_css_value_compute (corner->y, property_id, provider, scale, values, parent_values, &y_deps);
   *dependencies = _gtk_css_dependencies_union (x_deps, y_deps);
   if (x == corner->x && y == corner->y)
     {
index 81cdea8e37c93bd4d9a134a35be3f29f230e3261..f4d56fd8d70a45d596b835911b3e7a6fb6fd6a30 100644 (file)
@@ -53,6 +53,7 @@ static GtkCssValue *
 gtk_css_value_ease_compute (GtkCssValue             *value,
                             guint                    property_id,
                             GtkStyleProviderPrivate *provider,
+                           int                      scale,
                             GtkCssComputedValues    *values,
                             GtkCssComputedValues    *parent_values,
                             GtkCssDependencies      *dependencies)
index f382df9d94765ff2128dff66e80e8ec36a33a240..08575b23b90dfe3533131f555f9afd04a03c5349 100644 (file)
@@ -38,6 +38,7 @@ static GtkCssValue *
 gtk_css_value_engine_compute (GtkCssValue             *value,
                               guint                    property_id,
                               GtkStyleProviderPrivate *provider,
+                             int                      scale,
                               GtkCssComputedValues    *values,
                               GtkCssComputedValues    *parent_values,
                               GtkCssDependencies      *dependencies)
index e1f1d1c478b0af6a149855af1455b623b2b8552d..547edb8ea0e5349c74e905ca9ebe1cb4d8f2007e 100644 (file)
@@ -41,6 +41,7 @@ static GtkCssValue *
 gtk_css_value_enum_compute (GtkCssValue             *value,
                             guint                    property_id,
                             GtkStyleProviderPrivate *provider,
+                           int                      scale,
                             GtkCssComputedValues    *values,
                             GtkCssComputedValues    *parent_values,
                             GtkCssDependencies      *dependencies)
@@ -164,6 +165,7 @@ static GtkCssValue *
 gtk_css_value_font_size_compute (GtkCssValue             *value,
                                  guint                    property_id,
                                  GtkStyleProviderPrivate *provider,
+                                int                      scale,
                                  GtkCssComputedValues    *values,
                                  GtkCssComputedValues    *parent_values,
                                  GtkCssDependencies      *dependencies)
index 167af64a9117b02624ab0cfcef6d88bd49651ccb..d1c1df72bbb1f438c61d4c14f5f4abba638a8272 100644 (file)
@@ -62,6 +62,7 @@ static GtkCssImage *
 gtk_css_image_real_compute (GtkCssImage             *image,
                             guint                    property_id,
                             GtkStyleProviderPrivate *provider,
+                           int                      scale,
                             GtkCssComputedValues    *values,
                             GtkCssComputedValues    *parent_values,
                             GtkCssDependencies      *dependencies)
@@ -146,6 +147,7 @@ GtkCssImage *
 _gtk_css_image_compute (GtkCssImage             *image,
                         guint                    property_id,
                         GtkStyleProviderPrivate *provider,
+                       int                      scale,
                         GtkCssComputedValues    *values,
                         GtkCssComputedValues    *parent_values,
                         GtkCssDependencies      *dependencies)
@@ -163,7 +165,7 @@ _gtk_css_image_compute (GtkCssImage             *image,
 
   klass = GTK_CSS_IMAGE_GET_CLASS (image);
 
-  return klass->compute (image, property_id, provider, values, parent_values, dependencies);
+  return klass->compute (image, property_id, provider, scale, values, parent_values, dependencies);
 }
 
 GtkCssImage *
index cc06c904c9533f243301c8db75a6b69d73685c7c..93ae750072cf4c6171af92dab5077334f8cafa7b 100644 (file)
@@ -34,6 +34,7 @@ static GtkCssImage *
 gtk_css_image_gradient_compute (GtkCssImage             *image,
                                 guint                    property_id,
                                 GtkStyleProviderPrivate *provider,
+                               int                      scale,
                                 GtkCssComputedValues    *values,
                                 GtkCssComputedValues    *parent_values,
                                 GtkCssDependencies      *dependencies)
index 0d9f8660c24f85d87121689ab05d4135c6446654..9268d2bad086af4a8cc604a22813a18ef050593b 100644 (file)
@@ -420,6 +420,7 @@ static GtkCssImage *
 gtk_css_image_linear_compute (GtkCssImage             *image,
                               guint                    property_id,
                               GtkStyleProviderPrivate *provider,
+                             int                      scale,
                               GtkCssComputedValues    *values,
                               GtkCssComputedValues    *parent_values,
                               GtkCssDependencies      *dependencies)
@@ -431,7 +432,7 @@ gtk_css_image_linear_compute (GtkCssImage             *image,
   copy = g_object_new (GTK_TYPE_CSS_IMAGE_LINEAR, NULL);
   copy->repeating = linear->repeating;
 
-  copy->angle = _gtk_css_value_compute (linear->angle, property_id, provider, values, parent_values, dependencies);
+  copy->angle = _gtk_css_value_compute (linear->angle, property_id, provider, scale, values, parent_values, dependencies);
   
   g_array_set_size (copy->stops, linear->stops->len);
   for (i = 0; i < linear->stops->len; i++)
@@ -442,12 +443,12 @@ gtk_css_image_linear_compute (GtkCssImage             *image,
       stop = &g_array_index (linear->stops, GtkCssImageLinearColorStop, i);
       scopy = &g_array_index (copy->stops, GtkCssImageLinearColorStop, i);
               
-      scopy->color = _gtk_css_value_compute (stop->color, property_id, provider, values, parent_values, &child_deps);
+      scopy->color = _gtk_css_value_compute (stop->color, property_id, provider, scale, values, parent_values, &child_deps);
       *dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
       
       if (stop->offset)
         {
-          scopy->offset = _gtk_css_value_compute (stop->offset, property_id, provider, values, parent_values, &child_deps);
+          scopy->offset = _gtk_css_value_compute (stop->offset, property_id, provider, scale, values, parent_values, &child_deps);
           *dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
         }
       else
index f9e4e41b75c62a56c11dd3f51c36d67151b797d5..e9a39bfb9f453d09818a04bc2fd4d666368ccdaa 100644 (file)
@@ -58,6 +58,7 @@ struct _GtkCssImageClass
   GtkCssImage *(* compute)                         (GtkCssImage                *image,
                                                     guint                       property_id,
                                                     GtkStyleProviderPrivate    *provider,
+                                                   int                         scale,
                                                     GtkCssComputedValues       *values,
                                                     GtkCssComputedValues       *parent_values,
                                                     GtkCssDependencies         *dependencies);
@@ -95,6 +96,7 @@ double         _gtk_css_image_get_aspect_ratio     (GtkCssImage                *
 GtkCssImage *  _gtk_css_image_compute              (GtkCssImage                *image,
                                                     guint                       property_id,
                                                     GtkStyleProviderPrivate    *provider,
+                                                   int                        scale,
                                                     GtkCssComputedValues       *values,
                                                     GtkCssComputedValues       *parent_values,
                                                     GtkCssDependencies         *dependencies);
index 0a7c4f3eef2dfb84de5f1cc77f0e57c8b6e61178..663b6dc04ca6149b8a5ec2e7fcb4879ef46655eb 100644 (file)
@@ -120,6 +120,7 @@ static GtkCssImage *
 gtk_css_image_url_compute (GtkCssImage             *image,
                            guint                    property_id,
                            GtkStyleProviderPrivate *provider,
+                          int                      scale,
                            GtkCssComputedValues    *values,
                            GtkCssComputedValues    *parent_values,
                            GtkCssDependencies      *dependencies)
index dac0c2fac8cb974bf2db0c608ab02dc2afc19058..4dcba24e48edca8b9e8e4cc16b69def9675d010b 100644 (file)
@@ -37,6 +37,7 @@ static GtkCssValue *
 gtk_css_value_image_compute (GtkCssValue             *value,
                              guint                    property_id,
                              GtkStyleProviderPrivate *provider,
+                            int                      scale,
                              GtkCssComputedValues    *values,
                              GtkCssComputedValues    *parent_values,
                              GtkCssDependencies      *dependencies)
@@ -48,7 +49,7 @@ gtk_css_value_image_compute (GtkCssValue             *value,
   if (image == NULL)
     return _gtk_css_value_ref (value);
 
-  computed = _gtk_css_image_compute (image, property_id, provider, values, parent_values, dependencies);
+  computed = _gtk_css_image_compute (image, property_id, provider, scale, values, parent_values, dependencies);
 
   if (computed == image)
     {
index e2c3f163300b2a19c889ae52057d815936ff2e1b..053245cf734160a9a36dc19e4cc32c50ea8b6129 100644 (file)
@@ -37,6 +37,7 @@ static GtkCssValue *
 gtk_css_value_inherit_compute (GtkCssValue             *value,
                                guint                    property_id,
                                GtkStyleProviderPrivate *provider,
+                              int                      scale,
                                GtkCssComputedValues    *values,
                                GtkCssComputedValues    *parent_values,
                                GtkCssDependencies      *dependencies)
@@ -51,6 +52,7 @@ gtk_css_value_inherit_compute (GtkCssValue             *value,
       return _gtk_css_value_compute (_gtk_css_initial_value_get (),
                                      property_id,
                                      provider,
+                                    scale,
                                      values,
                                      parent_values,
                                      dependencies);
index 427044d57466f9eeed0f5dc13b1e437a74b18b6c..c53a5cf4ff5bc1c16b2bc93a1918c2a65ef57c26 100644 (file)
@@ -40,6 +40,7 @@ static GtkCssValue *
 gtk_css_value_initial_compute (GtkCssValue             *value,
                                guint                    property_id,
                                GtkStyleProviderPrivate *provider,
+                              int                      scale,
                                GtkCssComputedValues    *values,
                                GtkCssComputedValues    *parent_values,
                                GtkCssDependencies      *dependencies)
@@ -80,6 +81,7 @@ gtk_css_value_initial_compute (GtkCssValue             *value,
   return _gtk_css_value_compute (_gtk_css_style_property_get_initial_value (_gtk_css_style_property_lookup_by_id (property_id)),
                                  property_id,
                                  provider,
+                                scale,
                                  values,
                                  parent_values,
                                  dependencies);
index dc214b28096939c28be539ce62df1a1f4688bd47..f25b0c4100aca3c1c90c85d26bd74c141f7e472d 100644 (file)
@@ -427,6 +427,7 @@ _gtk_css_keyframes_print (GtkCssKeyframes *keyframes,
 GtkCssKeyframes *
 _gtk_css_keyframes_compute (GtkCssKeyframes         *keyframes,
                             GtkStyleProviderPrivate *provider,
+                           int                      scale,
                             GtkCssComputedValues    *values,
                             GtkCssComputedValues    *parent_values)
 {
@@ -455,6 +456,7 @@ _gtk_css_keyframes_compute (GtkCssKeyframes         *keyframes,
           KEYFRAMES_VALUE (resolved, k, p) =  _gtk_css_value_compute (KEYFRAMES_VALUE (keyframes, k, p),
                                                                       resolved->property_ids[p],
                                                                       provider,
+                                                                     scale,
                                                                       values,
                                                                       parent_values,
                                                                       NULL);
index 9ec76fe6aafcb9fe1ab30903b748afd55b9c06d6..160d4c5f3fb99e09fa7875e75551acb5a0709745 100644 (file)
@@ -38,6 +38,7 @@ void                _gtk_css_keyframes_print                  (GtkCssKeyframes
 
 GtkCssKeyframes *   _gtk_css_keyframes_compute                (GtkCssKeyframes         *keyframes,
                                                                GtkStyleProviderPrivate *provider,
+                                                              int                      scale,
                                                                GtkCssComputedValues    *values,
                                                                GtkCssComputedValues    *parent_values);
 
index acd35b6049111d8f54905b27c3c1e7a600c402ac..a32b959ebe7f1b7130a04327b78356f50d49fb48 100644 (file)
@@ -140,6 +140,7 @@ _gtk_css_lookup_set_computed (GtkCssLookup  *lookup,
 void
 _gtk_css_lookup_resolve (GtkCssLookup            *lookup,
                          GtkStyleProviderPrivate *provider,
+                        int                      scale,
                          GtkCssComputedValues    *values,
                          GtkCssComputedValues    *parent_values)
 {
@@ -164,6 +165,7 @@ _gtk_css_lookup_resolve (GtkCssLookup            *lookup,
                _gtk_bitmask_get (lookup->missing, i))
         _gtk_css_computed_values_compute_value (values,
                                                 provider,
+                                               scale,
                                                 parent_values,
                                                 i,
                                                 lookup->values[i].value,
index 8e8009758cfdaf888bce0dd0353fbc84509de717..9287ccb90261729bc3d0bc1516f0f42ee1d31c23 100644 (file)
@@ -55,6 +55,7 @@ void                    _gtk_css_lookup_set_computed            (GtkCssLookup
                                                                  GtkCssValue                *value);
 void                    _gtk_css_lookup_resolve                 (GtkCssLookup               *lookup,
                                                                  GtkStyleProviderPrivate    *provider,
+                                                                int                         scale,
                                                                  GtkCssComputedValues       *values,
                                                                  GtkCssComputedValues       *parent_values);
 
index ed2bfe506fac69de634231aa960b775f450211c8..a66dc09279975541d8643dc4020d3713b0dbc26f 100644 (file)
@@ -59,6 +59,7 @@ static GtkCssValue *
 gtk_css_value_number_compute (GtkCssValue             *number,
                               guint                    property_id,
                               GtkStyleProviderPrivate *provider,
+                             int                      scale,
                               GtkCssComputedValues    *values,
                               GtkCssComputedValues    *parent_values,
                               GtkCssDependencies      *dependencies)
index 8f09db72f2517cb11675c62614b45e2443330bcb..dd9e0adb58aeaff6ece7c9f1520717052ec3579d 100644 (file)
@@ -40,6 +40,7 @@ static GtkCssValue *
 gtk_css_value_position_compute (GtkCssValue             *position,
                                 guint                    property_id,
                                 GtkStyleProviderPrivate *provider,
+                               int                      scale,
                                 GtkCssComputedValues    *values,
                                 GtkCssComputedValues    *parent_values,
                                 GtkCssDependencies      *dependencies)
@@ -47,8 +48,8 @@ gtk_css_value_position_compute (GtkCssValue             *position,
   GtkCssValue *x, *y;
   GtkCssDependencies x_deps, y_deps;
 
-  x = _gtk_css_value_compute (position->x, property_id, provider, values, parent_values, &x_deps);
-  y = _gtk_css_value_compute (position->y, property_id, provider, values, parent_values, &y_deps);
+  x = _gtk_css_value_compute (position->x, property_id, provider, scale, values, parent_values, &x_deps);
+  y = _gtk_css_value_compute (position->y, property_id, provider, scale, values, parent_values, &y_deps);
   *dependencies = _gtk_css_dependencies_union (x_deps, y_deps);
   if (x == position->x && y == position->y)
     {
index eda6fef4238c8c907952915ece5b0710a97fbf24..5ecaaca5ed6890f6f2e4d1b7147028cdb7bc54fe 100644 (file)
@@ -37,6 +37,7 @@ static GtkCssValue *
 gtk_css_value_repeat_compute (GtkCssValue             *value,
                               guint                    property_id,
                               GtkStyleProviderPrivate *provider,
+                             int                      scale,
                               GtkCssComputedValues    *values,
                               GtkCssComputedValues    *parent_values,
                               GtkCssDependencies      *dependencies)
index fb52acefa5052105a33c444cf4712778bdcecc10..c58534af50ea7991825223d8946dda8ec938c4ee 100644 (file)
@@ -37,6 +37,7 @@ static GtkCssValue *
 gtk_css_value_rgba_compute (GtkCssValue             *value,
                             guint                    property_id,
                             GtkStyleProviderPrivate *provider,
+                           int                      scale,
                             GtkCssComputedValues    *values,
                             GtkCssComputedValues    *parent_values,
                             GtkCssDependencies      *dependencies)
index 324949176a4677d2ff182aaca7b3324409976dcc..b688594cc1b23ba2b09cde9befcc700f37966aee 100644 (file)
@@ -51,6 +51,7 @@ static GtkCssValue *
 gtk_css_value_shadows_compute (GtkCssValue             *value,
                                guint                    property_id,
                                GtkStyleProviderPrivate *provider,
+                              int                      scale,
                                GtkCssComputedValues    *values,
                                GtkCssComputedValues    *parent_values,
                                GtkCssDependencies      *dependencies)
@@ -65,7 +66,7 @@ gtk_css_value_shadows_compute (GtkCssValue             *value,
   result = gtk_css_shadows_value_new (value->values, value->len);
   for (i = 0; i < value->len; i++)
     {
-      result->values[i] = _gtk_css_value_compute (value->values[i], property_id, provider, values, parent_values, &child_deps);
+      result->values[i] = _gtk_css_value_compute (value->values[i], property_id, provider, scale, values, parent_values, &child_deps);
       *dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
     }
 
index 413d0003ab29354f397cc9295039767677f8fc94..de345993316bac8bd698d2b5887cb5eaff9730fa 100644 (file)
@@ -70,6 +70,7 @@ static GtkCssValue *
 gtk_css_value_shadow_compute (GtkCssValue             *shadow,
                               guint                    property_id,
                               GtkStyleProviderPrivate *provider,
+                             int                      scale,
                               GtkCssComputedValues    *values,
                               GtkCssComputedValues    *parent_values,
                               GtkCssDependencies      *dependencies)
@@ -78,23 +79,23 @@ gtk_css_value_shadow_compute (GtkCssValue             *shadow,
   GtkCssDependencies child_deps;
 
   child_deps = 0;
-  hoffset = _gtk_css_value_compute (shadow->hoffset, property_id, provider, values, parent_values, &child_deps);
+  hoffset = _gtk_css_value_compute (shadow->hoffset, property_id, provider, scale, values, parent_values, &child_deps);
   *dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
 
   child_deps = 0;
-  voffset = _gtk_css_value_compute (shadow->voffset, property_id, provider, values, parent_values, &child_deps);
+  voffset = _gtk_css_value_compute (shadow->voffset, property_id, provider, scale, values, parent_values, &child_deps);
   *dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
 
   child_deps = 0;
-  radius = _gtk_css_value_compute (shadow->radius, property_id, provider, values, parent_values, &child_deps);
+  radius = _gtk_css_value_compute (shadow->radius, property_id, provider, scale, values, parent_values, &child_deps);
   *dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
 
   child_deps = 0;
-  spread = _gtk_css_value_compute (shadow->spread, property_id, provider, values, parent_values, &child_deps),
+  spread = _gtk_css_value_compute (shadow->spread, property_id, provider, scale, values, parent_values, &child_deps),
   *dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
 
   child_deps = 0;
-  color = _gtk_css_value_compute (shadow->color, property_id, provider, values, parent_values, &child_deps);
+  color = _gtk_css_value_compute (shadow->color, property_id, provider, scale, values, parent_values, &child_deps);
   *dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
 
   return gtk_css_shadow_value_new (hoffset, voffset, radius, spread, shadow->inset, color);
index 82e7c37b6ed59edb163e939a87b4787f1c9ed50d..f97b512a0907e777e59528df7b0a1bdd5f3efe2f 100644 (file)
@@ -37,6 +37,7 @@ static GtkCssValue *
 gtk_css_value_string_compute (GtkCssValue             *value,
                               guint                    property_id,
                               GtkStyleProviderPrivate *provider,
+                             int                      scale,
                               GtkCssComputedValues    *values,
                               GtkCssComputedValues    *parent_values,
                               GtkCssDependencies      *dependencies)
index aecee31d738d33a2bb0636874e4546f439f930ce..54716182a6aa06e206a1718f2d117c86c57f0023 100644 (file)
@@ -38,6 +38,7 @@ static GtkCssValue *
 gtk_css_value_typed_compute (GtkCssValue             *value,
                              guint                    property_id,
                              GtkStyleProviderPrivate *provider,
+                            int                      scale,
                              GtkCssComputedValues    *values,
                              GtkCssComputedValues    *parent_values,
                              GtkCssDependencies      *dependencies)
index 6d77cf80c94fe299ddb11897e658de4991fab853..8ee780d6cc5f6662712b03182a1255264161d318 100644 (file)
@@ -88,6 +88,7 @@ GtkCssValue *
 _gtk_css_value_compute (GtkCssValue             *value,
                         guint                    property_id,
                         GtkStyleProviderPrivate *provider,
+                       int                      scale,
                         GtkCssComputedValues    *values,
                         GtkCssComputedValues    *parent_values,
                         GtkCssDependencies      *dependencies)
@@ -103,7 +104,7 @@ _gtk_css_value_compute (GtkCssValue             *value,
     dependencies = &fallback;
   *dependencies = 0;
 
-  return value->class->compute (value, property_id, provider, values, parent_values, dependencies);
+  return value->class->compute (value, property_id, provider, scale, values, parent_values, dependencies);
 }
 
 gboolean
index 1d2424e5f7944333eca7e074a7167cf010ec113a..9871ab3c4267870856c43ccf0014673e6cd4110d 100644 (file)
@@ -43,6 +43,7 @@ struct _GtkCssValueClass {
   GtkCssValue * (* compute)                           (GtkCssValue                *value,
                                                        guint                       property_id,
                                                        GtkStyleProviderPrivate    *provider,
+                                                      int                         scale,
                                                        GtkCssComputedValues       *values,
                                                        GtkCssComputedValues       *parent_values,
                                                        GtkCssDependencies         *dependencies);
@@ -68,6 +69,7 @@ void         _gtk_css_value_unref                     (GtkCssValue
 GtkCssValue *_gtk_css_value_compute                   (GtkCssValue                *value,
                                                        guint                       property_id,
                                                        GtkStyleProviderPrivate    *provider,
+                                                      int                         scale,
                                                        GtkCssComputedValues       *values,
                                                        GtkCssComputedValues       *parent_values,
                                                        GtkCssDependencies         *dependencies);
index f7f44ec5c615fe7c4a2a37e554d077c62835d0a1..1c533bca14d28aa327e13cbb82993ac667ce5a36 100644 (file)
@@ -3295,6 +3295,7 @@ _gtk_style_context_validate (GtkStyleContext  *context,
                                                   priv->parent ? style_data_lookup (priv->parent)->store : NULL,
                                                   timestamp,
                                                   GTK_STYLE_PROVIDER_PRIVATE (priv->cascade),
+                                                 priv->scale,
                                                   current && gtk_style_context_should_create_transitions (context) ? current->store : NULL);
       if (_gtk_css_computed_values_is_static (data->store))
         change &= ~GTK_CSS_CHANGE_ANIMATE;